package eteam.aps.mapper;

import eteam.aps.model.export.model.ProductInvExport;
import eteam.aps.model.export.model.ProductSerialExport;
import eteam.aps.model.export.model.ProductWorkProcessingExport;
import eteam.aps.model.export.query.ProductInvQuery;
import eteam.aps.model.export.query.ProductSerialQuery;
import eteam.aps.model.export.query.ProductWorkProcessingQuery;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author Ll
 * @since 2024/1/17
 */
@Mapper
public interface ExportSelectorMapper {

    /**
     * 制令号产品生产报表数量
     *
     * @return 制令号产品生产报表
     */
    int productSerialCount(ProductSerialQuery productSerialQuery);

    /**
     * 制令号产品生产报表
     *
     * @return 制令号产品生产报表
     */
    List<ProductSerialExport> productSerial(ProductSerialQuery productSerialQuery);


    /**
     * 任务令产品编码工序状态
     *
     * @param processingQuery 查询条件
     * @return 任务令产品编码工序状态结果集
     */
    int productWorkProcessingCount(ProductWorkProcessingQuery processingQuery);

    /**
     * 任务令产品编码工序状态
     *
     * @param processingQuery 查询条件
     * @return 任务令产品编码工序状态结果集
     */
    List<ProductWorkProcessingExport> productWorkProcessing(ProductWorkProcessingQuery processingQuery);

    /**
     * 任务令产品材料序列数量查询
     *
     * @param productInvQuery 查询条件
     * @return 查询数量
     */
    int productInvJspCount(ProductInvQuery productInvQuery);

    /**
     * 任务令产品材料序列分页查询
     *
     * @param productInvQuery 查询条件
     * @return 任务令产品材料序列结果集
     */
    List<ProductInvExport> productInvJsp(ProductInvQuery productInvQuery);
}
